On the Veri cation of SCOOP Programs
نویسندگان
چکیده
In this paper we focus on the development of a toolbox for the veri cation of programs in the context of SCOOP an elegant concurrency model, recently formalized based on Rewriting Logic (RL) and Maude. SCOOP is implemented in Ei el and its applicability is demonstrated also from a practical perspective, in the area of robotics programming. Our contribution consists in devising and integrating an alias analyzer and a Co man deadlock detector under the roof of the same RL-based semantic framework of SCOOP. This enables using the Maude rewriting engine and its LTL model-checker for free , in order to perform the analyses of interest. We discuss the limitations of our approach for model-checking deadlocks and provide solutions to the state explosion problem. The latter is mainly caused by the size of the SCOOP formalization which incorporates all the aspects of a real concurrency model. On the aliasing side, we propose an extension of a previously introduced alias calculus based on program expressions, to the setting of unbounded program executions such as in nite loops and recursive calls. Moreover, we devise a corresponding executable specication easily implementable on top of the SCOOP formalization. An important property of our extension is that, in non-concurrent settings, the corresponding alias expressions can be over-approximated in terms of a notion of regular expressions. This further enables us to derive an algorithm that always stops and provides a sound over-approximation of the may aliasing information, where soundness stands for the lack of false negatives.
منابع مشابه
Model Checking and UTP Design Veri cation
We give a di erent perspective on veri cation of programs. Our perspective emphasizes the use of design veri cation in the uni ed theory of programming. The main idea is that of applying model checking to the veri cation of programs expressed in the pre and postcondition style of the uni ed theory of programming, leading to a closer relationship between program development and program veri cati...
متن کاملVeri cation of Java Programs using Symbolic Execution and Invariant Generation Corina S
Software veri cation is recognized as an important and difcult problem. We present a novel framework, based on symbolic execution, for the automated veri cation of software. The framework uses annotations in the form of method speci cations and loop invariants. We present a novel iterative technique that uses invariant strengthening and approximation for discovering these loop invariants automa...
متن کاملExtending the reach and power of deductive program verification
Soware is vital for modern society. e ecient development of correct and reliable soware is of ever-growing importance. An important technique to achieve this goal is deductive program verication: the construction of logical proofs that programs are correct. In this thesis, we address three important challenges for deductive verication on its way to a wider deployment in the industry: 1. ve...
متن کاملA New Framework for Design, Veri cation, and Implementation of Self-Stabilizing Distributed Algorithms
Design, veri cation, and implementation of reliable distributed programs are a di cult task. In a separate paper, we have presented an algorithm that transforms self-stabilizing (SS) serial model programs to equivalent programs that run on real distributed systems. This paper presents a method to develop new SS distributed programs by using the transformation; that is, we develop and verify SS ...
متن کاملBehavioral Interface Speci cation Languages
Behavioral interface speci cation languages allow programmers to express the intended behavior of programs such as functional behavior and resource consumption. Formal speci cations of program behavior is useful for precise documentation, for the generation of test cases and test oracles, for debugging, and for formal program veri cation. In this paper, we survey behavioral interface speci cati...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015